Methods and systems for cloud executing mini-games and sharing

ABSTRACT

Methods for executing a game via a game cloud system are provided. One method includes providing, on a website, a plurality of mini-games stored via the game cloud system. Each of the plurality of mini-games is created based on a portion of the game. Each of the plurality of mini-games is created when the game was played and state data is captured and associated to the respective mini-game. Each of the plurality of mini-games is defined from a respective portion of the game, and the portion identified by at least part of the state data related to play of the game and game actions taken. The state data is used to enable executable play the mini-game, and each of the plurality of mini-games is sharable via the website.

CLAIM OF PRIORITY

This application is a Continuation of U.S. patent application Ser. No.15/174,996, filed on Jun. 6, 2016 and titled “Methods and Systems forCloud Executing Mini-Games and Social Tagging”, (U.S. Pat. No.10,363,482, issued on Jul. 30, 2019), which is a further continuation ofU.S. patent Ser. No. 13/779,735, filed on Feb. 27, 2013 and titled“Systems and Methods for Ranking of Cloud Executed Mini-Games Based onTag Content and Social Network Content”, (U.S. Pat. No. 9,358,461,issued on Jun. 7, 2016), which is a non-provisional of U.S. ProvisionalPatent Application No. 61/746,083, filed on Dec. 26, 2012, and titled“Systems and Methods for Ranking of Cloud Executed Mini-Games Based onTag Content and Social Network Content”, all of which are herebyincorporated by reference.

BACKGROUND 1. Field of the Invention

The present invention relates to systems and methods for managing usercreated mini-games in a game cloud executed system based on userinteractions.

2. Description of the Related Art

Cloud systems, using computing resources (hardware and software),deliver services over a network (typically the Internet). The services,in the context of gaming, enable streaming of content to remote clients,wherein most processing is done on servers, which may be distributed.Input provided at the remote clients will in turn drive execution of thegame, without the need for dedicated gaming hardware at the client'slocation. Cloud gaming, therefore, has been increasing in popularitybecause users find it easier to access more titles without complexhardware restrictions and game suppliers find it easier manage game codefrom centralized locations.

It is in this context that embodiments of the invention arise.

SUMMARY

Embodiments of the present invention relate to systems and methods formanaging mini-games in a game cloud executed system based on userinteractions, and in particular to the ranking and displaying ofparticular mini-games to others to encourage sharing of such mini-games.Several inventive embodiments of the present invention are describedbelow.

In one embodiment, a method for managing mini-games created and executedin a game cloud system is disclosed. The method includes providing aplurality of mini-games stored in the game cloud system, where each ofthe plurality of mini-games is created based on a video recording of agame play for a game title, and each of the plurality of mini-games isshared in a social network. The method further includes identifying theuser interactions for each of the plurality of mini-games, and rankingthe mini-games based on the identified user interactions associated witheach mini-game, and displaying the mini-games in an order that is basedon the ranking. The disclosed method is executed by a processor.

In yet another embodiment, a system having a game cloud system isdisclosed. The game cloud system includes a mini-game processor, a tagprocessor, and a social connection manager. The mini-game processor isconfigured to provide a plurality of mini-games stored in the game cloudsystem, and each of the plurality of mini-games is created based on avideo recording of a game play of a video game title. The socialconnection manager is configured to enable posting of at least one ofthe plurality of mini-games to be shared in a social network and toobtain social network content for each shared mini-game. The tagprocessor is further configured to obtain tag content for each sharedmini-game, and the mini-game processor is further configured to rank theplurality of mini-games based in part on the tag content and the socialnetwork content associated with each mini-games.

In still yet another embodiment, another method for sharing mini-gamesis disclosed. The method includes generating a video recording of gameplay of a game title in a cloud gaming system while playing the gametitle online in a streaming format, enabling viewing of the videorecording, providing controls to enable selection of a portion of thevideo recording. The method further includes generating mini-game thatcorresponds to the portion of the video recording selected and enablingsharing of the mini-game. The mini-game is a portion of the game titlethat is playable online in a streaming format and is shared with theportion of the video recording. In response to the sharing, the tag datais received from one or more users that either played the portion of thevideo recording or played the mini-game. The tag data is used to rankthe mini-game, and the ranking is used to display the mini-game on awebsite in an order that is based in part on the ranking.

Other aspects of the invention will become apparent from the followingdetailed description, taken in conjunction with the accompanyingdrawings, illustrating by way of example the principles of theinvention.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention may best be understood by reference to the followingdescription taken in conjunction with the accompanying drawings inwhich:

FIG. 1A illustrates a system diagram for enabling access and playing ofvideo games stored in a game cloud system, in accordance with anembodiment of the invention.

FIG. 1B illustrates a game cloud network, in accordance with oneembodiment of the present invention.

FIG. 1C illustrates an exemplary user profile stored in a game cloudsystem, in accordance with one embodiment of the present invention.

FIG. 2 illustrates mini-games created based on a video recording, inaccordance with one embodiment of the present invention.

FIG. 3A illustrates a mini-game data profile, in accordance with oneembodiment of the present invention.

FIG. 3B illustrates a block diagram showing the components of the userinteractions for a shared mini-game, in accordance with one embodimentof the present invention.

FIG. 4A illustrates a social network web page showing the classified andthe ranked mini-games, in accordance with one embodiment of the presentinvention.

FIG. 4B illustrates an instant replay of a displayed mini-game, inaccordance with one embodiment of the present invention.

FIG. 5A illustrates a webpage that shows a mini-game along with otherrelated information, in accordance with one embodiment of the presentinvention.

FIG. 5B illustrates a webpage that is used to view a mini-game, inaccordance with one embodiment of the present invention.

FIG. 6 illustrates a mini-game having tag content, in accordance withone embodiment of the present invention.

FIG. 7 is a flow chart illustrating an exemplary method for managingmini-games shared in a game cloud system, in accordance with oneembodiment of the present invention.

DETAILED DESCRIPTION

The following embodiments describe systems and methods for managingshared mini-games in a cloud-based system. The management of themini-games includes, but is not limited to, classifying, ranking, anddisplaying the shared mini-games based on user interactions associatedwith the mini-games.

In one embodiment, as described in greater detail below, the mini-gamesto be shared are custom defined by users. The creation, in oneembodiment, begins by allowing users to play a full game, which theyhave access to play from an online database.

The game play, in one embodiment, is via a cloud based processing systemthat enables streaming of online game play, while allowing users toprovide interactive input from remote locations that are connected tothe internet. While the user plays the game, a video recording of thegame is created, showing the game play activity from the game playsession. In one embodiment, a user is allowed to select a portion of thevideo recording. The selection of the portion of the video recording isused, in one embodiment, to define the portion of the mini-game that isto be created. The user defined mini-game will therefore be a segment orpart of the full game, with a defined start and end point as defined bythe user. In one embodiment, the segment may have all of the features ofthe full game, and in other embodiments less features, objects,controls, etc., than the full game has. In one embodiment, the userdefines the start and end points by selecting the start and end pointsin the video recording.

The result is a custom selected section of the full game, defined as anexecutable mini-game. As the mini-game was defined from the videorecording, the mini-game may also be provided with an accompanying videorecording portion, or clip. In one embodiment, as more users createmini-games, it is possible that many different mini-games can be createdfrom the same full game title, with each mini-game having differentstart and end points.

Because the mini-games have customization associated with the user thatcreated the mini-game, users may have a desire to share the mini-gameswith others. For example, the portion of the video recording that isassociated with each mini-game will show the game play of the user thatcreated the mini-game. The game play may show, for example, theaccomplishments by the user, such as particular game scores, awards,etc.

In one embodiment, the mini-games can be shared via a game network,where users of the game network can post their created mini-games. Inanother embodiment, users can post links to the mini-games on socialnetworks. As a result of the sharing, other users in the game network orsocial network will be allowed access to the mini-games. In oneembodiment, the mini-game will include two parts; one part is the videoportion showing the game play of the user that created the mini-game,and a second part is an executable mini-game that parallels the sectionof the full game that was used to create the mini-game.

During the sharing process, therefore, users will be allowed to view theportion of the video recording of the mini-game and also play themini-game posted by the creator. During the viewing of the videorecording portion or the playing of the mini-game executable portion,users can introduce tag data. The tag data can be in the form ofcomments, text, posting, videos, images, or other annotations. The tagdata can also include ranking data. The ranking data can include theintroduction of tag data that indicates likes or dislikes, number orstars, higher rating points, lower rating points, etc. The tag data, asreceived from users, based on the sharing of the mini-games, can be usedto provide a ranking to the various posted mini-games. In otherembodiments, the tag data or the rate at which mini-games are shared,viewed, played, commented on, etc., can be used to provide higherratings to the mini-games. In one embodiment, higher rated mini-gameswill be provided with higher prominence on game websites. In otherembodiments, mini-games that are highly rated can provide rewards to theposting user. This, in turn, may provide for a built-in mechanism toencourage better quality posting of mini-games.

In one embodiment, even though the tag data is set at one still videoframe view (i.e., the image that is present on a screen when phase isselected), when the tag data is later shown, it can be allow to stay ina viewable state for a period of time, which can encompass a time whenmultiple frames of video are shown. For example, tag data can be shown,during playback, for several seconds. If the frame rate of the video is,for example, 60 frames per second (other frame rates are possible,either slower or faster), it should be understood that tag data can bedisplayed for a period of time that will involve the display of manyframes of video. It is also understood that frames will, in someembodiments, include compression to reduce transmission latency.

In one embodiment, user interactions with a mini-game may include tagcontent and social network content associated with the mini-game. Thetag content of a mini-game includes game tag data entered for videoframes of the mini-game during the full game play, game tag data enteredfor the video frames of the mini-game during a view of part of the videorecording or view of full game play recording, mini-game tag dataentered during play of the mini-game, etc. The social network content ofthe mini-game may include the number of times the mini-game is shared,the number of times the mini-game is viewed, the number of times themini-game is played, the number of recommendations for the mini-game,the number of comments entered for the mini-game, the number of createdmini-game play videos, the rate at which mini-games are shared, the rateat which mini-games are tagged, the quality of the tag data, the numberof plays by highly rated players, etc.

Each classified and ranked mini-game may be displayed based on theclassifying categories in the forms of mini-game symbols (e.g.,mini-game icons). When a mouse is hovered over a mini-game symbol, someof the video frames of the mini-game represented by the mini-game symbolwill be automatically played. Further examples and embodiments will nowbe described below with reference to the exemplary drawings.

It will be obvious, however, to one skilled in the art, that the presentinvention may be practiced without some or all of these specificdetails. In other instances, well known process operations have not beendescribed in detail in order not to unnecessarily obscure the presentinvention.

FIG. 1A illustrates a system diagram 100A for enabling access andplaying of video games stored in a game cloud system (GCS) 110, inaccordance with an embodiment of the invention. System 100A includes aGCS 110, one or more social media providers 140, and a user device 130,all of which are connected via Internet 120. Although one user device130 is illustrated in system diagram 100A, it is to be understood thatin practice, many more user devices may be connected to Internet 120 toaccess the services provided by GCS 110 and social media providers 140.

In one embodiment, game cloud system 110 includes a game executionengine 170, a recording engine 171, a mini-game processor 172, a tagprocessor 173, a user processor 174, a title index engine 175, a gamesession manager 185, user access logic 180, a network interface 190, anda social connection manager 195. Game cloud system 110 may furtherinclude a plurality of gaming storage systems, such as a game statestore 160, a game code store 161, a recorded game store 162, a tag datastore 163, a game title store 164, a game network user store 165, amini-game data store 166, and a social network data store 167. In oneembodiment, game cloud system 110 is a system that can provide gameapplications, services, gaming related digital content, andinterconnectivity among systems, applications, users, and socialnetworks. Game cloud system 110 may communicate with user device 130 andsocial media providers 140 via network interface 190 that will enablewired and wireless communication methods. In one embodiment, each socialmedia provider 140 includes at least one social graph 145 that showssocial network user interconnections.

In one embodiment, a social media provider can be the game cloud system110 itself, whereby user relationships are managed without the need forexternal social media providers 140. In still other embodiments, thesystem can operate as a hybrid system, wherein social relationships aremanaged using social graph data from third party social media providers(via API interface accesses or the like) and user relationships withother users, as defined by the game cloud system.

In one embodiment, a user, e.g., user U0, can access the servicesprovided by game cloud system 110 and social media providers 140 by wayof user device 130. User device 130 can include any type of devicehaving a processor and memory, wired or wireless, portable or notportable. User device 130, which is shown connected to Internet 120,includes a display 132 that can be a touchscreen, or a display typicallyprovided by a flat-panel display, a cathode ray tube (CRT), or otherdevice capable of rendering a display. Alternatively, user device 130can have its display 132 separate from the device, similar to a desktopcomputer or a laptop computer. In one embodiment, user device 130 can bein the form of a smartphone, a tablet computer, or hybrids that providetouch screen capability in a portable form factor. One exemplary devicecan include a portable phone device that runs an operating system and isprovided with access to various applications (apps) that may be obtainedover Internet 120, and executed on the local portable device (e.g.,smartphone, tablet, laptop, desktop, etc.).

In one embodiment, user device 130 can install an application thatenables executions and views of the games stored and shared by the gamecloud system 110. Further, user device 130 can be used to communicatewith one or more social media provider(s) 140 via Internet 120 such thatuser device 130 may be used to execute a game play or view videorecordings of the game plays shared in one or more social mediaproviders 140. For example, user U0 may access a game posted in one ofsocial media providers 140 by selecting a link on a page, stream,news-feed, or post of the social media provider, and then playing orviewing the game from user device 130.

In one embodiment, the games posted and shared in social media providers140 are mini-games generated based on video recordings of game plays ofavailable game titles. Those mini-games may be stored in recorded gamestore 162 of game cloud system 110. While user U0 is executing orviewing a game or mini-game stored in game cloud system 110, user device130 is capable of receiving game video frames 135 from game cloud system110 and transmitting user interactive input 136 (simply “input”) to gamecloud system 110. The received game video frames 135 can be shown indisplay 132 of user device 130.

In one embodiment, a user, e.g., user U0, may create a user account andregister the created user account with game cloud system 110. After theuser account is registered with game cloud system 110, game cloud system110 may provide a user ID to this registered user account and save theuser ID in a user profile associated with the registered user account.The user profile associated with a user account will be described inmore detail with reference to FIG. 1C. In one embodiment, the userprofile associated with a user account may be saved in a user databasein game network user store 165.

In one embodiment, user access logic 180 may be used to detect allaccesses made by user U0, either through user device 130 or othersuitable devices, and be used to verify the user log-in information(e.g., the name and password for the user account of user U0). Afteruser U0 logs into his or her user account, user access logic 180 maycommunicate the user login information with user processor 174 that inturn updates the user login information stored in the user profile.Further, user access logic 180 may communicate the user logininformation with social connection manager 195, so that socialconnection manager 195 can pull the names of the user's social networkfriends from one or more social media providers 140 via networkinterface 190. The names of the user's social network friends may bereceived by social connection manager 195, which in turn transmits thereceived information to game network user store 165 to be saved in theuser profile of user U0.

After logging in, the user can access services provided by game cloudsystem 110 via game session manager 185. For example, game sessionmanager 185 may inform user processor 174 of the user login informationso that user processor 174 may record or update the user logininformation in the user profile associated with this user. In oneembodiment, the user profile is stored in game network user store 165.User processor 174 may also communicate with title index engine 175 toidentify game titles associated with the user account. The game titlesassociated with the user account may be previously purchased by theuser, previously played by the user and/or free game titles identifiedand made available by the game providers. In this example, availablegame titles may therefore be stored in game title store 164.

In one embodiment, after a user chooses an available game title to play,a game session for the chosen game title may be initiated by the userthrough game session manager 185. Game session manager 185 firstaccesses game state store 160 to retrieve the saved game state of thelast session played by the user (for the selected game), if any, so thatthe user can restart the game play from a previous game play stop point.Once the resume or start point is identified, the game session manager185 may inform game execution engine 170 to execute the game code of thechosen game title stored in game code store 161. After a game session isinitiated, game session manager 185 may pass the game video frames 135(i.e., streaming video data), via network interface 190 to a userdevice, e.g., user device 130.

During game play, game session manager 185 may communicate with gameexecution engine 170, recording engine 171, and tag processor 173 togenerate or save a recording (e.g., video) of the game play or game playsession as the game play processes. In one embodiment, the videorecording of the game play can include game tag data entered or providedduring game play, and other game related metadata. The video recordingof game play may be saved in recorded game store 162. Any game tag datamay be saved in tag data store 163, and the metadata may be saved ingame state store 160. More detail regarding the process of taggingcontent will be described below.

In one embodiment, a mini-game may be created using information from thevideo recording of the game play, e.g., via mini-game processor 172. Forexample, after a user plays a game and the video recording is created,the user can simply watch a reply of the video recording if his or herprior game play. When the user is watching a reply of the videorecording, the user may find one or more parts to be particularlyinteresting. For example, the user may have achieved a high score orcompleted an interesting task during the game play. The user, in oneembodiment, is provided with controls to select a portion of the videorecording, which will then be used by mini-game processor 172 toconstruct a mini-game based on the selected portion of the video. In oneembodiment, the mini-game will include the executable code necessary torender the functionality or part of the functionality that was used tocreate the content of the selected portion of the video recording.

Thus, a user wishing to play the mini-game will be provided with asubstantially similar game play experience as the user that originallyplayed the game that created the video recording. For instance, if theoriginal game play included a scene where the user is riding a bike overa jump, and the user selects that portion from the video recording ofhis game play, the new mini-game would include code to enable similar orsubstantially similar game play. That is, the mini-game would enable theuser or other users to play the mini-game, wherein game play wouldinclude riding a bike over a jump. In this case, the user playing themini-game may or may not achieve the same game score for the jump.

The portion of the video recording associated with the created mini-gamemay be saved in recorded game store 162 and remaining portion of thevideo recording may be erased after a defined time period by recordingengine 171. If no mini-games are created for a video recording of a gameplay, the video recording of the game play may be erased after a definedtime period by recording engine 171.

In one embodiment, the created mini-game may be posted by user U0 to awebpage in a social network, via social connection manager 195, toenable sharing with his or her social network friends. Alternatively,the created mini-game may be posted by user U0 to a webpage in a gamenetwork maintained by game cloud system 110, for sharing with his or hergame network friends. Sharing, however, should not be limited tofriends. Sharing can also be extended to other users that may havesimilar likes or game play similarities.

In one embodiment, the game code that defines a mini-game can be thesame code of the full game from which the mini-game was created. Duringthe creation of the mini-game by mini-game processor 172, game playmetadata, which can include game state, is used to identify what partsof the game code of the full game are needed to make an executablemini-game. When the parts of the code of the full game are allidentified, the code that defines the mini-game can, in one embodiment,be defined by pointers or references to the game code of the full game.By using points and/or references, the need to create new code packagesfor each produced mini-game is reduced. As user's create mini-games fromtheir game titles, the code or pointers for the created mini-games canbe associated to the creating user in the user store 165. This way, eachcreated mini-game can be defined by its original creator, and metricsregarding play of the mini-games can be attributed or linked to thecreating user. For instance, if a particular user creates mini-game thatare played and/or shared often with other users, the popularity of themini-game can be tracked and ranked against other mini-games and users.

A user that creates mini-games that are shared often or tagged withhigher frequency can be provided with rewards. The rewards can beprovided, for example, by the developer of the game title from which themini-games are created. As more mini-games are made from particular gametitles, the game title may grow in popularity and will encourage usersto purchase a full version. In one embodiment, full versions of a gametitle are unlocked to enable mini-game creation. In one embodiment, playof a mini-game will allow creation of video recordings of the mini-gameplay, but may not enable creation of mini-games without having access tothe full game title.

Still continuing with FIG. 1A, in one embodiment, during a game play,user interactive input 136 entered by user U0 may be transmitted to gamesession manager 185 of game cloud system 110. User interactive input136, besides input used to drive game play, may include tag content(e.g., texts, images, video recording clips, etc.) The tag content caninclude game tag data and mini-game tag data. Game tag data may beentered by user U0 while playing an available full game title or viewinga video recording of the game play, and mini-game tag data may beentered by user U0 while viewing a mini-game. The mini-game may be amini-game that is created by user U0 based on a video recording of thegame play, or a shared mini-game posted by other users, e.g., socialnetwork friends of user U0.

In one example, if user interactive input 136 is tag content, the tagcontent may be received by game session manager 185, which in turninforms tag processor 173, user processor 174 that the tag content isreceived. Tag processor 173 may be used to save the tag content to tagdata store 163. User processor 174 may be used to save a tag pointerthat points to where the tag content is stored in tag data store 163 tothe user profile associated with user U0. Mini-game processor 172 may beused to save a tag pointer that points to where the tag content isstored in tag data store 163 in a mini-game data profile stored inmini-game data store 166, if the tag content is related to a mini-game.

In one embodiment, mini-game processor 172 may be used to analyze thetag content of a mini-game, and identify video frames with more tagcontent as a representative frame for the mini-game. For example, when amini-game is created, the mini-game may be shown as an icon or stillimage. The still image may be, for example, one of the video frames ofthe mini-game. The more interesting the frame is, the more likely it isthat the mini-game may be played by others. Thus, in this embodiment,the frame that is selected to be the still image may be automaticallyselected based on the tagging content associated with particular frames.

In another embodiment, mini-game processor 172 may be used to manage themini-games stored in recorded game store 162. The mini-game managementmay include, but not limited to, mini-game classification, mini-gameranking based on the user interactions to the mini-games, mini-gamerepresentative picture identification, mini-game view or executioninitiation, etc. For instance, if certain mini-games have a highernumber of user interactions, this may indicate that the content of themini-game is interesting and/or is being shared the most. As such, somemini-games can be displayed more prominently on a website, relative toother mini-games, based on the degree of tagging that such mini-gamesexperience.

The user interactions of the mini-games may include the tag content andthe social network content of the mini-games. In one example, mini-gameprocessor 172 may instruct social connection manager 195, via gamesession manager 185, to post some or all of the mini-games stored inrecorded game store 162 at one or more social media providers 140 sothat those mini-games can be shared (either viewed or played) by thesocial network users. Social connection manager 195 may periodicallypull social network content associated with those shared mini-games fromsocial media providers 140, and save the social network content insocial network data store 167.

The social network content of a shared mini-game may include, withoutlimitation, the number of times the mini-game is viewed, played, shared,and recommended by the social network users. The social network contentmay also include the number of comments made by social network users. Inone embodiment, mini-game processor 172 may save a social networkcontent pointer that points to the social network content for amini-game to the mini-game data profile associated with the mini-game.

FIG. 1B illustrates a game cloud network 100B, in accordance with oneembodiment of the present invention. For example purposes only, the gamecloud network 100B may include six game cloud systems (GCS1 to GCS 6),which are geographically distributed and interconnected. Also forpurposes of example, eleven users (U1 to U11) are shown in FIG. 1B withdifferent geographical distances to each of the six GCSs. To reducelatency, the GCSs are distributed and users that are more proximate tocertain GCSs will be paired to the more local GCS.

As shown in FIG. 1B, users U1 and U2 are geographically located closerGCS3, user U3 is located about in the middle of the distance betweenGCS2 and GCS5, user U4 is located in between GCS 5 and GCS 6 but iscloser to GCS 6, users U6 and U7 are located near GCS4, users U8 and U9are located near GCS1, and users U5, U10, and U11 are located near GCS6.Although six game cloud systems and eleven users are shown, it is to beunderstood that in practice, more or less game cloud systems may beincluded in game cloud network 100B, and more or less users may accessthe services provided by game cloud network 100B.

In one embodiment, each GCS in game cloud network 100B is located in adata center that houses computer systems and associated components tosupport multiple operating systems. As an example, the structure of eachGCS may be similar to GCS 110 as shown in FIG. 1A. Although, it shouldbe understood that a GCS may include fewer or more processing componentsor logic elements, depending on the processing desired. In oneembodiment, each GCS in game cloud network 100B may communicate withother GCSs so that the information for various user profiles stored inrespective game network user stores of a GCS can get updated andsynchronized. Through the communication among the GCSs, game cloudnetwork 100B can dynamically distribute the work load to provide loadbalancing and assign users based on the work load of each GCS anddistance factors.

In one embodiment, when a user is trying to log into his or her useraccount online via a user device, depending upon the geographicallocation of the user, the user may be routed to a GCS that is closest tohis or her user device. For example, because user U1 along with his orher user device is located near GCS3, user U1 utilizes the game servicesprovided GCS3 after his or her user device is connected to GCS3.Similarly, user U2 may utilize the game services provided by GCS3, userU7 and user U6 may utilize the game services provided by GCS4, user U8and user U9 may utilize the game services provided by GCS1, and user U5,user U10, and user U11 may utilize the game services provided by GCS6,based on geographical distance to respective CGSs.

In another embodiment, when a user is located approximately in themiddle of two GCSs, the user may access the game services provided byboth GCSs. For example, user U3 is located approximately in the middleof GCS2 and GCS5. When user U3 is trying to log into his account, theuser device of user U3 may be connected to either GCS2 or GCS5, or bothGCSs, depending upon the work load and latency of the GCSs. In stillanother embodiment, a user may be connected to a GCS that is not theclosest one to this user because the GCS that is closest to this user isexperiencing heavy work load. For example, user U4 may be initiallyconnected to GCS6 because user U4 is located closest to GCS6. Due toheavy work load of GCS6, user U4 may be disconnected from GCS6 and beconnected to GCS5. During the period of switching from GCS6 to GCS5,user U4 may be temporarily connected to both GCS6 and GCS5 for a while,and then get disconnected from GCS6 after GCS5 has replicated the gamestate of user U4 in GCS6. Thus, the switching from one GCS to anotherGCS is transparent to the user without affecting the user's experiencewith the game. In another example, user U4 may be directly routed toGCS5 because GCS5 has larger capacity than GCS6.

FIG. 1C illustrates an exemplary user profile 100C stored in a gamecloud system 110, in accordance with one embodiment of the presentinvention. In one embodiment, user profile 100C may be saved in a userdatabase stored in game network user store 165 of game cloud system 110.In this example, user profile 100C includes a “User Name” field, a “UserID” filed, a “User Password” field, a “User Login” field, a “User Level”field, a “User Awards” field, a “Friends” field, a “Game Titles” field,and a “User Tags” field.

In one embodiment the friends field may be populated automatically byaccessing external social networks. In this embodiment, the game cloudsystem may include code instructions that enable calls to externalapplication programming interfaces (APIs) of social networks. The APIscan be used to query the social networks for data concerning the socialgrid, and relationships stored in the social grid of the social network.The data obtained from the social grid may be used to introduce themini-games to friends of the user, such as by automatically postingmini-games to newsfeeds of friends or the like. These functions willenable wider sharing, tagging, rating, and commenting on mini-games asthey are shared and used in greater extents.

In one embodiment, the “User Name” field, the “User ID” field, and the“User Password” field are used to record the name of the user, the IDassigned to the user when he or she created the user account in gamecloud system 110, and the password set up by the user. The “User Login”field is used to indicate whether this user is currently logged into hisor her user account. As discussed above, the user login information maybe updated by user processor 174. The “User Level” field is used toindicate the game play levels of the user. The “User Awards” field showsthe awards received by the user during previous game plays.

In one embodiment, the “Game Titles” field shows all available gametitles for the user. The available game titles may be those that theuser is able to freely play because either the user purchased the gameor the game is free to play. In still other embodiments, the “GameTitles” field can show or identify the games that the user is able tosee, such as, based on the rating of the games. If the play is a minor,only selected games would be made accessible for that player.

As discussed above, a user may create one or more mini-games based on avideo recording of a game title played by the user. If one or moremini-games are created for the game title, the created mini-games willbe shown under this game title. In this example, there are threeavailable game titles for the user (Game Title 1, Game Title 2, and GameTitle 3), and one mini-game (Mini-Game 1) is created from Game Title 2.In one embodiment, the user can start to play a game by selecting(clicking, touching, etc.) on the available game title shown in userprofile 100C. In still other embodiments, mini-games can be shown on aseparate webpage, where a user can select to play mini-games created bythe user or created by other users. The mini-games shown can beorganized based on game-types, genres, age appropriate, etc. Mini-gameshaving larger numbers of user interactions (e.g., plays or tags) may beranked higher or placed in a more prominent location on the webpage.From this webpage of mini-games, users can access to play suchmini-games or share the mini-games with others within the game networkor externally via social networks.

In one embodiment, the “User Tags” field in user profile 100C lists tagcontent entered by the user. As discussed above, the entered tag contentis stored in tag data store 163. For each tag content listed in the“User Tags” field, there is an associated tag pointer that points to thetag content stored in the tag data store 163. The tag content storedunder the “User Tags” field may be (a) tag data entered by the userduring a game play of the original full game title, (b) tag data enteredby the user while viewing the video recording from the game play of thefull game title, (c) tag data entered by any user viewing the portion ofthe video recording used to make or define the mini-game, or (d) tagdata entered by any user while playing the mini-game for the videoportion (the portion being the portion that was selected from the videorecording to define the mini-game).

In one embodiment, a mini-game may be created by a user that owns or hasaccess to a full version of the game that is used to create themini-game. When a user plays the full version of the game, a videorecording is created of the game play. From this video recording, theuser can select a portion of the video recording (e.g., a starting pointand an ending point). This portion of the video is saved and associatedto the user. In addition, this portion is used to identify metadata andstate data that was created when the full version of the game was playedto create the video recording. This information is in turn used toidentify the code parts of the full game code that will be required tocreate an executable mini-game that will encompass at least thefunctionality seen in the portion of the video that was selected fromthe video recording. In one embodiment, once the mini-game is created,the mini-game may have two parts.

For example, a first part is the portion of the video selected by theuser, from the full video recording. This portion can be posted andshared, so that other users can see a video of the user's game play andthe results (which may have been interesting). Once a person views thevideo portion, the person can elect to play a mini-game for that portionof video.

Also for example, a second part is the executable mini-game. As in theexample above, if the portion of the video shows the user jumping anobstacle on a bike, the mini-game will provide code to allow anotherplay to attempt the jump of the obstacle on the bike. The game scoresachieved by the original player using the full game can then be comparedto the score achieved by the other play. The other play may also get agood score, which may be interesting to share.

Thus, to provide further sharing, a third part may be the creation of asecondary video portion that is a recording of game play of themini-game by other users. Thus, as more players play the mini-game,there will be many secondary recordings of those game plays, which willalso be saved and associated with the original mini-game and to theplayers.

In this example, however, the creator of the mini-game is going to bethe owner of the full version of the game. If the person playing themini-game wishes to make a mini-game him or herself, that person canpurchase the full copy (or full locked access) and produce his or herown mini-games that can be shared in the same way.

In one embodiment, the “Friends” field in user profile 100C shows theuser's friends in both game network and social network. In this example,the user's game network friends are shown under the “Game Network”sub-field and the user's social network friends are shown under the“Social Network” sub-field. The user's friends who belong to both thegame network and the social network may be listed under the “Common”sub-field.

For a user profile stored in game network user store 165, the “UserName” field, the “User Login” field, the “User Level” field, and the“User Awards” field may be viewable to other users in the game network,while the other fields in the user profile may not be viewable to otherusers. In one embodiment, a user may select whether to make the“Friends” field in his or her user profile to be viewable by otherusers.

FIG. 2 illustrates mini-games created based on a video recording 200, inaccordance with one embodiment of the present invention. In thisexample, after a user (or a game player) has played an available gametitle, either the complete game or part of the game, the game played maybe saved as video recording 200, e.g., in recorded game store 162. Inthis example, video recording 200 includes recorded video frames 210 forthe game played, recorded tag content 220, and recorded metadata 230.Recorded tag content 220 includes tag pointers that pointer to game tagdata 225 and 225′ (represented as solid circles) added during the gameplay (e.g., tags added when the game is paused or the like), the timewhen the game tag data 225 and 225′ was entered and associated videoframes for game tag data 225 and 225′. For example, game tag data 225are respectively entered at time t2, t3, and t4, and is associated withvideo frames number 760, 812, and 890 of recorded video frames 210. Inone embodiment, game tag data 225 and 225′ may be stored in tag datastore 163 of game cloud system 110, and be pointed by game tag datapointers stored in recorded tag content 220.

In one embodiment, when a game player wants to enter game tag dataduring the game play or execution, the game player can send a pauseindication to suspend the game play through a user interactive input,e.g., a tagging button displayed on a display of the user device used toplay this game. When the game play is suspended, the game state inresponse to the pause indication may be stored in game state store 160of game cloud system 110. The solid squares 235 and 235′ in recordedmetadata 230 indicate the corresponding saved metadata (including gamestate) when game tag data 225 and 225′ are entered, respectively. Whenvideo recording is viewed, the associated tag content may be shown alongwith the video frames in recorded video frames 210.

In one embodiment, the game player may create a mini-game (MG) based onvideo recording 200 by indicating a start position and an end positionof the mini-game, during or after a view of video recording 200. Forexample, based on video recording 210, the game player may choose videoframe 688 as the beginning of MG1 and video frame 974 as the ending ofMG1 by clicking and unclicking a mini-game creation check box displayedon a screen, respectively. Other controls may also be provided toindicate the desire to create a mini-game, such as touch screen inputs,voice inputs, gesture inputs, etc. The created MG1 is playable to viewthe video recording of MG1 that is a portion of video recording 200, andis executable to play game code of MG1 that is a portion of the fullgame codes of the original game title played by the game player. Thevideo recording of MG1, in one embodiment, has associated therewith gametag data 225 and metadata 237. When the video recording of MG1 isviewed, game tag data 225 may be shown along with the associated videoframes for MG1. As noted above, the tag data can be provided in variousforms. One form, for example, may include ranking data provided by viewsor players of the mini-game. The ranking can be used to later present orsurface particular mini-games on a mini-game site, a website, a socialsite, a posting on a social network, etc. In one embodiment, it can bean option to turn on or off the viewing of the tags when viewing therecorded video of MG1.

In another embodiment, multiple mini-games can be created based on videorecording 200. As shown in FIG. 2 , MG1 is not overlapped with MG2 andMG3, and MG2 and MG3 are partially overlapped with each other. In oneembodiment, the created mini-games, e.g., MG1, MG2, and MG3, may besaved in recorded game store 162 by mini-game processor 172 of gamecloud system 110.

FIG. 3A illustrates a mini-game data profile 300A, in accordance withone embodiment of the present invention. In one embodiment, mini-gamedata profile 300A is saved in a database stored in mini-game data store166 of game cloud system 110.

In this example, mini-game data profile 300A may include, withoutlimitation, the “Mini-game Name” field, the “Original Game Title” field,the “Mini-game Code” field, the “Mini-game Beginning Data” field, the“Mini-game Ending Data” field, the “Tag Content” field, the “SocialNetwork Content” field, the “Mini-game Creator” field, the “Mini-gameCreation Time” field, the “Mini-game classification” field, and the“Mini-game Ranking” field. The “Mini-game Name” field is used to recordthe name of the mini-game, and the “Original Game Title” field is usedto list the name of the original game based on which the mini-game iscreated. The name of the user who created the mini-game along with themini-game creation time may be recorded under the “Mini-game Creator”field and the “Mini-game creation Time” field, respectively.

The “Mini-game Code” field is used to record a game code beginningpointer that points to the beginning of the game code of the originalgame and a game code ending pointer that points to the ending of thegame code of the original game. It should be understood that thebeginning and end of the game code is simply used to connote the startand end of the mini-game, which is constructed or assembled using thegame code of the full game. In many instances, the mini-game willinherit game code settings that may be been set when the game was firstplayed in the context of the full game. For example, if the character iscustomized to have a particular look that customization may be selectedfor the mini-game segment. In other embodiments, default customizationsor settings are automatically made in the definition of the mini-gamecode. In one embodiment, the “Mini-game Beginning Data” field is used torecord a video beginning pointer that points the beginning of the videorecording of the game play for the original game title. In oneembodiment, the “Mini-game Ending Data” field is used to record a videoending pointer that points to the ending of the video recording of thegame play.

In one embodiment, the “Game Tag Data” sub field under the “Tag Content”field may be used to record the pointers that point to the game tag dataentered for the video frames associated with the mini-game during thegame play for the original game or during a view of the video recordingof the game play. The “Mini-game Tag Data” sub field under the “TagContent” field is used to record the pointers that point to themini-game tag data entered during views of the mini-game.

In one embodiment, the “Social Network Content” field may be used torecord the number of times the mini-game is tagged, shared, played,viewed, commented on, and recommended. The rate at which any of thesesocial actions take place can also be tracked, which can be used as ametric to infer a higher rating or lower.

In one embodiment, the number of times the mini-game is shared may berecorded under the “Shared” sub field. In one embodiment, the number oftimes the mini-game is played or executed may be recorded under the“Played” sub field. The number of times the mini-game is viewed may berecorded under the “Viewed” sub field. The number of times the mini-gameis recommended may be recorded under the “Recommended” sub field. The“Social Network Content” field may also be used to record the number ofcomments entered by network users, e.g., under the “Comments” sub field.The “Mini-game Play Videos” sub field under the “Social Network Content”field may be used to record the number of mini-game play videos createdbased on the executions of the mini-game, the names of the users whocreated those mini-game play videos along with their playing scores. Inone embodiment, the social network content of a mini-game may bereceived via social connection manager 195 of game cloud system 110.These examples are provided for clarity, but it should be understoodthat fewer or more metrics can be captured or displayed to generate theranking data.

In one embodiment, mini-game processor 172 of game cloud system 110 mayclassify the mini-game based on the pre-defined categories. For example,the mini-game may be classified as an action mini-game. Theclassification of the mini-game may be recorded under the “Mini-gameClassification” field. Further, mini-game processor 172 of game cloudsystem 110 may be used to rank all of the mini-games in each classifiedcategory based on the tag content and the social network contentassociated with each mini-game. The ranking of a mini-game may be savedin the “Mini-game Ranking” field.

FIG. 3B illustrates a block diagram 300B showing example components ofthe user interactions for a shared mini-game, in accordance with oneembodiment of the present invention. As shown, the user interactions ofa shared mini-game may include the tag content and the social networkcontent of the mini-game. The tag content of the mini-game may furtherinclude game tag data and mini-game tag data. The game tag data areentered for the video frames associated with the mini-game during theexecution of the game play for the original game title, based on whichthe mini-game is created. The mini-game tag data are entered during theview of the mini-game for the mini-game video frames. The tag data canalso include, for example, user ratings. The user ratings can includethumbs up, star ratings, likes, dislikes, approvals, disapprovals, etc.

The social network content of the mini-game is generated by the socialnetwork users after the mini-game is posted for sharing in a socialnetwork or a site. For example, the social network content may include,without limitation, the number of times the mini-game is shared, thenumber of times the mini-game is played, the number of times themini-game is viewed, and the number of times the mini-game isrecommended by various users in the social network. The social networkcontent may also include the number of comments made by the socialnetwork users, and the number of mini-game play videos created based onthe execution (or play) of the mini-game. Further, the number of timesthe created mini-game play videos are viewed may also be included in thesocial network content. In one embodiment, social network users can rankthe shared mini-game, e.g., by giving one to five stars. The socialnetwork content may also include the user ranking (not shown) for themini-game.

FIG. 4A illustrates a social network webpage 400 showing the classifiedand the ranked mini-games, in accordance with one embodiment of thepresent invention. In this example, all of the mini-games, which areposted in the social network for sharing, are classified based on thefollowing pre-defined categories: Action, Sports, Kids, Casino, andShooting. Other categories are possible, and this is only one example.The mini-games in each classified category are displayed in the form ofcategory tabs. It is to be understood that mini-games can be classifiedbased on other unlisted categories. In this embodiment, webpage 400shows the mini-games in the Action category and the mini-games in othercategories are hidden. The mini-games in other categories can be shownif the corresponding category tab is clicked. As used herein, theexample of clicking shall be understood to be user input. The user inputcan be made via any number of ways, such as by computer mouse, gamecontrollers, touch input, gesture input, voice input, etc. For example,if the Sports category tab is clicked by a user using mouse cursor 410,the mini-games in the Sports category will be shown and the mini-gamesin the Action, Kids, Casino, and Shooting categories will be hidden.

The mini-games in the Action category may be displayed in the forms ofmini-game symbols (e.g., mini-game icons or thumbnails) with eachmini-game symbol having a representative picture. In one embodiment, therepresentative picture is a mini-game video frame identified to have tagcontent exceeding a threshold. The threshold can be, for example, havinga number of tags in a video frame that is more than other frames, tagsthat provide ratings, tags that provide higher ratings, tags that showhigher levels of sharing or commenting, etc.

In this example, six mini-games symbols (421, 422, 423, 424, 425, and426) are shown at one time in the Action category tab 430.Alternatively, more or less mini-game symbols can be displayed at onetime in a category tab. In one embodiment, if there are more mini-gamesthan the ones already displayed in the Action category, the othernon-displayed mini-games can be shown by clicking either the upper ordown arrows in scroll bar 450.

In one embodiment, the mini-games may be stored in recorded game store162 of game cloud system 110, and displayed by mini-game processor 172based on the classification and ranking of each mini-game. In oneembodiment, the mini-games in a classified category may be ranked basedon the user interactions of mini-games in a classified category. Theexamples of the user interactions of a mini-game include the tag contentand the social network content of the mini-game, entered by socialnetwork users.

In one embodiment, the representative picture displayed on top of amini-game symbol (e.g., a picture image) is a mini-game video frame thathas the most tag content or higher ratings from users. Therepresentative picture may be updated as the tag content of themini-game changes over time. Mini-game processor 172 of game cloudsystem 110 may be used to identify the representative picture for eachmini-game displayed.

FIG. 4B illustrates an instant replay of a displayed mini-game, inaccordance with one embodiment of the present invention. In oneembodiment, mouse cursor 410 may be hovered over a displayed mini-gamesymbol to render an instant replay (or partial reply) of the videoframes of the mini-game represented by the mini-game symbol, without themini-game symbol being clicked. The instant replay can help a user toquickly search for a mini-game he or she likes.

In this example, when a user hovers mouse cursor 410 over mini-gamesymbol 423 (e.g., passively select), the video frames (460_1 to 460_N)of the mini-game represented by mini-game symbol 423 will start to playwithout having to select the mini-game symbol 423. When a user finds amini-game he or she likes, the user can double click (e.g., activelyselect) the mini-game symbol to launch or start instant play from thecloud gaming system in streaming mode. Alternatively, the user maydouble click a mini-game symbol to open another webpage that shows themini-game represented by the mini-game symbol along with other relatedinformation.

FIG. 5A illustrates a webpage 500A that shows a shared mini-game 501along with other related information, in accordance with one embodimentof the present invention. In one embodiment, webpage 500A is a socialnetwork webpage of a social network user (e.g., user A), and the socialnetwork may be maintained by a social media provider 140 as shown inFIG. 1A. In one embodiment, the webpage 500A can be content that isdisplayed in a newsfeed of a social network. In still anotherembodiment, the content of the webpage 500A may be rearranged in anotherform, to fit within a website of the game provider or the cloud gamingnetwork provider.

In this embodiment, webpage 500A shows a shared mini-game 501, fiveassociated mini-game play videos (MGPVs) 502 (that are created based onthe executions (or plays) of mini-game 501 by others), a play button 503for executing the game code of the shared mini-game 501, a comment inputwindow 504, a user identifier winder 505, a mini-game view icon 506,five mini-game play video view icons 507, a share button 508 for sharingmini-game 501, e.g., with other users who are network friends of user A,a recommendation button 509 for recommending mini-game 501, a rate icon510, and a mouse cursor 511.

In one embodiment, user A may simply view the shared mini-game 501 byclicking mini-game view icon 506. During the view of mini-game 501, userA can initiate a tagging process by pausing the view of mini-game 501 toenter mini-game tag data, and then resuming the view of mini-game 501.The tagging process will be described in more detail related to FIG. 5B.After viewing the video recording of the shared mini-game 501, user Amay play an executable version of the mini-game 501 by pushing playbutton 503. If mini-game 501 gets a lot of plays, either due topopularity or by sharing, the mini-game 501 may get a history of plays.The history of plays for mini-game 501 will be represented by themini-game play video (MGPVs) 502. In one embodiment, the player and theplaying score of a created mini-game play video are shown to the rightof the mini-game play video 502. A user may wish to view the prior playsby clicking the corresponding mini-game play video view icon 507.

User A can also share mini-game 501 with his or her social networkfriends, or recommend mini-game 501 by pushing share button 508 andrecommendation button 509, respectively. User comments for mini-game 501(e.g., “Good Game!”) may be entered in comment input window 504. In oneembodiment, the user recommendations and sharing, and the user commentsentered for mini-game 501, the number of times mini-game 501 is viewedor played, and the number of mini-game play videos 502 created based onthe execution of mini-game 501 will be recorded in a mini-game dataprofile stored in mini-game data store 166 of game cloud system 110, asshown in FIG. 1A.

All or some of the data collected from the sharing, such as plays,sharing with others, sharing on social sites, rate of sharing, rates oftagging, number of recommendations, actual ratings, etc., can be used togenerate a ranking score. The ranking score can be used to promote themini-game and encourage additional sharing or play. Games that arehigher ranked can earn rewards to the creator and can also provide ahigher rating to the user that created the higher ranked mini-games.

In one embodiment, the game manufacturer of the original game titlebased on which mini-game 501 is created may identify the users whofrequently play the shared mini-game 501 and the users who got high playscores, and send target messages, notifications, emails, and/oradvertisements to those identified users. In this example, Bob hasplayed the shared mini-game 501 three times with decent scores. Thus,the game manufacturer may send a message to Bob to advertise theoriginal game title and offer purchase discount. Alternatively, ifmini-game 501 is a very popular shared mini-game in the cloud, the gamemanufacture may study the video frames and the actions associated withmini-game 501 and create new games that include video frames and actionssimilar to the ones in mini-game 501.

FIG. 5B illustrates a webpage 500B that is used to view a mini-game, inaccordance with one embodiment of the present invention. As discussedabove, a mini-game can be viewed if the mini-game view button associatedwith the mini-game is selected. During the view of the mini-game, videoframes of the mini-game may be displayed from the beginning to end and acontrol panel 520 may be shown along with the display of the mini-gamevideo frames. In this example, control panel 520 includes two controlcheck boxes: “Tagging” check box 521 and “Show Tags” check box 522.Although two check boxes are shown in control panel 520 that isdisplayed vertically along the right edge of webpage 500B for thisembodiment, it is to be understood that in practice, more or less gamecontrol check boxes may appear in a control panel and the control panelmay be shown in any position of a game display screen. Furthermore, thecontrols in control panel 520 may be implemented in other forms, such asradio buttons, push buttons, drop-down menus, touch icons, etc.

During a view of the shared mini-game, a user may identify a video frame(e.g., image in the video at which action is paused) of the mini-gameand enter mini-game tag data in a desired location in the identifiedvideo frame. The tagging process may be started or ended by checking orunchecking “Tagging” check box 521 in control panel 520. When “Tagging”check box 521 is checked, the video frame that is currently shown, e.g.,video frame 550, may be suspended by a pause indication. Then, the usermay move mouse cursor 511 from the original location (shown in dashedlines) to a desired tagging location in video frame 550. In oneembodiment, the user may double click the mouse in the desire tagginglocation to open up a tagging window 530 to enter mini-game tag data,e.g., the sentence of “Jump height is 10 feet.” Although the mini-gametag data in this embodiment is text, in other embodiments, mini-game tagdata may be images, video clips, etc. The entered mini-game tag data isassociated with video frame 550 of the mini-game.

The entered mini-game tag data may be shown by checking “Show Tags”check box 522 in control panel 520. In this example, the user identifierof the user (“Tom Jones”) who entered the mini-game tag data is shown inuser identifier display 540 displayed underneath tagging window 530. Inanother embodiment, user identifier display 540 may also show the timewhen the user entered the mini-game tag data. Alternatively, the usercan choose to hide the mini-game tag data by unchecking “Show Tags”check box 522.

In one embodiment, the above-described tagging process during the viewof a mini-game can also be used for entering game tag data during theplay of the original game or during the view of the video recording ofthe game play for the original game title based on which the mini-gameis created.

FIG. 6 illustrates a mini-game 600 having tag content, in accordancewith one embodiment of the present invention. In this example, mini-game600 is created based on a video recording 610 of the game play for anavailable game title. The video recording 610 includes game tag data 611and 611′ that are entered either during the game play or during a viewof the video recording 610. The tagging process for the game tag datacan be similar to the tagging process described above for enteringmini-game tag data. A portion 612 of video recording 610 is used tocreate mini-game 600. Mini-game 600, as shown, includes game tag data611 associated with the video frames of mini-game (e.g., the videoframes of portion 612 of video recording 610). After mini-game 600 isposted for sharing in a social network webpage, e.g., by socialconnection manager 195, the shared mini-game 600 can be viewed by socialnetwork users. During the view of mini-game 600, mini-game tag data 605can be entered, e.g., by using the tagging process described above inrelation to FIG. 5B. Thus, after receiving mini-game tag data 605,mini-game 600 is shown having tag content that includes game tag data611 and mini-game tag data 605.

FIG. 7 is a flow chart illustrating an exemplary method 700 for managingmini-games shared in a cloud, in accordance with one embodiment of thepresent invention. In one embodiment, the illustrated exemplary method700 is described in relation to operations performed by game cloudsystem 110 as shown in FIG. 1A.

At operation 710, a plurality of mini-games that are stored in a cloudis provided. In one embodiment, each of the mini-games is created basedon a video recording of a game play for an available game title. Theplurality of mini-games may be stored in recorded game store 162, e.g.,by recording engine 171 of game cloud system 110. In one embodiment,mini-game processor 172 of game cloud system 110 may be used to identifyand provide the plurality of mini-games stored in the cloud. Each of theplurality of mini-games may be shared in a social network, e.g., bysocial connection manager 195 of game cloud system 110.

The plurality of mini-games may be classified based on the pre-definedcategories. In one embodiment, mini-game processor 172 of game cloudsystem 110 may be used to classify the mini-games. The classification ofa mini-game may be saved in a mini-game data profile associated with themini-game stored in mini-game data store 166 of game cloud system 110.

At operation 720, the user interactions for each mini-game isidentified. In one embodiment, the user interactions may include tagcontent and the social network content for each mini-game. In oneexample, mini-game processor 172 of game cloud system 110 may be used toidentify the tag content and the social network content for eachmini-game. The tag content of a mini-game may be obtained by tagprocessor 173 of game cloud system 110 and is saved in tag data store163 of game cloud system 110. The social network content of a mini-gamemay be obtained by social connection manager 195 of game cloud system110 and is saved in social network data store 167 of game cloud system110. In one embodiment, the tag content and the social network contentof a mini-game may be saved in a mini-game data profile associated withthe mini-game, e.g., by mini-game processor 172, in mini-game data store166 of game cloud system 110.

At operation 730, the mini-games are ranked based on the identified userinteractions associated with each mini-game. In one embodiment,mini-game processor 172 of game cloud system 110 may be used to rank themini-games based on the identified tag content and the social networkcontent. For example, if a mini-game has more tag content and/or socialnetwork content, the mini-game may be ranked higher than the mini-gamethat has less tag content and/or social network content. The tag contentmay include game tag data and mini-game tag data. The game tag data of amini-game may be entered for the video frames associated with themini-game during the game play for the game title based on which themini-game is created, or entered for the video frames associated withthe mini-game during a view of the video recording of the game play. Themini-game tag data of a mini-game may be entered during a view of themini-game. The social network content of a mini-game may include,without limitation, the number of times the mini-game is shared, thenumber of times the mini-game is played, the number of times themini-game is viewed, the number of times the mini-game is recommended,the number of comments entered for the mini-game, and the number ofmini-game play videos created based on the execution of the mini-game.

At operation 740, the mini-games may be displayed in an order that isbased on the ranking. In one embodiment, mini-game processor 172 of gamecloud system 110 may be used display the ranked mini-games in eachclassified category in a social network webpage. In some embodiment,certain mini-games having a higher ranking can be auto posted to friendsof the creator or to people in the social network that may be relatedeither by similar game plays, related friends, owning of similar gametitles, etc. The posting can be to a social network stream or to awebsite where mini-games are shared. In one embodiment, each of themini-games may be displayed in the form of a mini-game symbol (e.g.,mini-game icon or mini-game thumbnail) having a representative picture.The representative picture displayed on the top of a mini-game symbolmay be a video frame of the mini-game that has the most tag content ormost relevant tag content.

In one embodiment, when a mouse cursor is hovered over a displayedmini-game symbol, the video frames of the mini-game represented by themini-game symbol will be played from the beginning to end without themini-game symbol is being clicked. In one embodiment, a displayedmini-game is capable of receiving user interactions, e.g., from thesocial network users. The user interactions include tag content andsocial network content.

In one embodiment, a displayed mini-game may be executable to play bythe social network users. The play of a mini-game may be recorded as amini-game video recording. The mini-game player can choose whether tocreate a mini-game play video based on the mini-game video recording.The created mini-game play video can be posted for sharing and fordisplay in the same webpage that displays the mini-game. In anotherembodiment, a displayed mini-game may be playable to view by the socialnetwork users. During the view of the mini-games, mini-game tag data maybe entered.

In one embodiment, the cloud gaming system is configured to detect thetype of client device associated with the user, and also a type ofcontroller available for the user to provide input to the cloud-basedvideo game. For example, in one embodiment, when a user logs in to thecloud gaming system, they may be presented with an option to designatethe type of client device with which they are accessing the cloud gamingsystem. In one embodiment, a series of client device options arepresented from which the user may select one corresponding to theirclient device. The user may also be presented with an option todesignate the type of controller device they will use to play a videogame. In one embodiment, a series of controller options can be presentedto the user, from which the user may select to designate a controllertype corresponding to their controller hardware. In other embodiments,the cloud gaming system can be configured to automatically detect theclient device type and/or the controller device type.

For example, at the time of login, the client device may sendinformation to the cloud gaming server identifying itself as well as aconnected controller device (e.g. in response to a request from thecloud gaming server). Based on this information, the cloud gaming servermay determine an appropriate video game output configuration and inputparameter configuration to provide a gaming experience optimized for theuser's client device and controller device. In one embodiment, a look-uptable is employed to determine video game configuration and inputparameter configuration based on a detected client device and a detectedcontroller device.

It should be appreciated that a given video game may be developed for aspecific platform and a specific associated controller device. However,when such a game is made available via a cloud gaming system aspresented herein, the user may be accessing the video game with adifferent controller device. For example, a game might have beendeveloped for a game console and its associated controller, whereas theuser might be accessing a cloud-based version of the game from apersonal computer utilizing a keyboard and mouse. In such a scenario,the input parameter configuration can define a mapping from inputs whichcan be generated by the user's available controller device (in thiscase, a keyboard and mouse) to inputs which are acceptable for theexecution of the video game.

In another example, a user may access the cloud gaming system via atablet computing device, a touchscreen smartphone, or other touchscreendriven device. In this case, the client device and the controller deviceare integrated together in the same device, with inputs being providedby way of detected touchscreen inputs/gestures. For such a device, theinput parameter configuration may define particular touchscreen inputscorresponding to game inputs for the video game. For example, buttons, adirectional pad, or other types of input elements might be displayed oroverlayed during running of the video game to indicate locations on thetouchscreen that the user can touch to generate a game input. Gesturessuch as swipes in particular directions or specific touch motions mayalso be detected as game inputs. In one embodiment, a tutorial can beprovided to the user indicating how to provide input via the touchscreenfor gameplay, e.g. prior to beginning gameplay of the video game, so asto acclimate the user to the operation of the controls on thetouchscreen.

In some embodiments, the client device serves as the connection pointfor a controller device. That is, the controller device communicates viaa wireless or wired connection with the client device to transmit inputsfrom the controller device to the client device. The client device mayin turn process these inputs and then transmit input data to the cloudgaming server via a network (e.g. accessed via a local networking devicesuch as a router). However, in other embodiments, the controller canitself be a networked device, with the ability to communicate inputsdirectly via the network to the cloud gaming server, without beingrequired to communicate such inputs through the client device first. Forexample, the controller might connect to a local networking device (suchas the aforementioned router) to send to and receive data from the cloudgaming server. Thus, while the client device may still be required toreceive video output from the cloud-based video game and render it on alocal display, input latency can be reduced by allowing the controllerto send inputs directly over the network to the cloud gaming server,bypassing the client device.

In one embodiment, a networked controller and client device can beconfigured to send certain types of inputs directly from the controllerto the cloud gaming server, and other types of inputs via the clientdevice. For example, inputs whose detection does not depend on anyadditional hardware or processing apart from the controller itself canbe sent directly from the controller to the cloud gaming server via thenetwork, bypassing the client device. Such inputs may include buttoninputs, joystick inputs, embedded motion detection inputs (e.g.accelerometer, magnetometer, gyroscope), etc. However, inputs thatutilize additional hardware or require processing by the client devicecan be sent by the client device to the cloud gaming server. These mightinclude captured video or audio from the game environment that may beprocessed by the client device before sending to the cloud gamingserver. Additionally, inputs from motion detection hardware of thecontroller might be processed by the client device in conjunction withcaptured video to detect the position and motion of the controller,which would subsequently be communicated by the client device to thecloud gaming server. It should be appreciated that the controller devicein accordance with various embodiments may also receive data (e.g.feedback data) from the client device or directly from the cloud gamingserver.

Embodiments of the present invention may be practiced with variouscomputer system configurations including hand-held devices,microprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers and the like. Theinvention can also be practiced in distributed computing environmentswhere tasks are performed by remote processing devices that are linkedthrough a wire-based or wireless network.

With the above embodiments in mind, it should be understood that theinvention can employ various computer-implemented operations involvingdata stored in computer systems. These operations are those requiringphysical manipulation of physical quantities. Any of the operationsdescribed herein that form part of the invention are useful machineoperations. The invention also relates to a device or an apparatus forperforming these operations. The apparatus can be specially constructedfor the required purpose, or the apparatus can be a general-purposecomputer selectively activated or configured by a computer programstored in the computer. In particular, various general-purpose machinescan be used with computer programs written in accordance with theteachings herein, or it may be more convenient to construct a morespecialized apparatus to perform the required operations.

The invention can also be embodied as computer readable code on acomputer readable medium. The computer readable medium is any datastorage device that can store data, which can be thereafter be read by acomputer system. Examples of the computer readable medium include harddrives, network attached storage (NAS), read-only memory, random-accessmemory, CD-ROMs, CD-Rs, CD-RWs, magnetic tapes and other optical andnon-optical data storage devices. The computer readable medium caninclude computer readable tangible medium distributed over anetwork-coupled computer system so that the computer readable code isstored and executed in a distributed fashion.

Although the method operations were described in a specific order, itshould be understood that other housekeeping operations may be performedin between operations, or operations may be adjusted so that they occurat slightly different times, or may be distributed in a system whichallows the occurrence of the processing operations at various intervalsassociated with the processing, as long as the processing of the overlayoperations are performed in the desired way.

Although the foregoing invention has been described in some detail forpurposes of clarity of understanding, it will be apparent that certainchanges and modifications can be practiced within the scope of theappended claims. Accordingly, the present embodiments are to beconsidered as illustrative and not restrictive, and the invention is notto be limited to the details given herein, but may be modified withinthe scope and equivalents of the appended claims.

What is claimed is:
 1. A method for processing mini-games executed in agame cloud system, comprising: providing, on a website, a plurality ofmini-games stored via the game cloud system, wherein each of theplurality of mini-games is created based on a video recording of a playfor a game title, and each of the plurality of mini-games is definedfrom a portion selected from the video recording, the portion having abeginning and an end that is less than the video recording of the playof the game title, the portion being used to identify state data that iscreated when the game is played to create the video recording, whereinthe state data is used to generate executable play scenes for themini-game that relate to play scenes in the video recording, whereineach of the plurality of mini-games is for the portion that is less thanthe video recording, and is shared via the website; and processing playof the mini-game via execution by the game cloud system in an onlinestreaming format, wherein inputs received for play of the mini-game arereceived from control inputs associated with a client used to play themini-game.
 2. The method of claim 1, wherein play of the mini-game is byone or more users having access to the website.
 3. The method of claim1, wherein sharing of the mini-game causes the mini-game to be madeavailable on the website.
 4. The method of claim 1, wherein themini-game is generated by a first player.
 5. The method of claim 1,wherein a second player, playing the mini-game, enables the secondplayer to play executable play scenes for the mini-game that relate tothe video recording.
 6. The method of claim 5, wherein the second playerplays the mini-game once shared by the first player to create themini-game.
 7. The method of claim 1, wherein the cloud gaming systemincludes an encoder for compressing video associated with the mini-gamebeing executed for said online streaming format.
 8. The method of claim1, wherein the state data associated with the portion enables a playerplaying the mini-game to experience play of the game related to a videorecording.
 9. A method for sharing mini-games to be executed via a gamecloud system, comprising: generating a mini-game at the cloud gamingsystem responsive to a request to generate a mini-game for a portion ofgame play of a video game being played via the game cloud system, and avideo recording of the game play is stored in association with themini-game; saving game state data for the mini-game, the game state dataenables execution of the mini-game, and said portion is used to identifysaid game state data for the mini-game, wherein said portion has abeginning and an end that is less than the video recording of the gameplay; posting an image representative of the mini-game to a website,wherein selection of the image from the website causes the game cloudsystem to execute the mini-game using the game state data, whereinexecution of the mini-game is via an online streaming format whereinputs are received for play of the mini-game from a client used foraccessing the website.
 10. The method of claim 9, wherein said mini-gameis selectable for play by one or more users having access to thewebsite.
 11. The method of claim 9, wherein sharing of the mini-gamecauses the mini-game to be made available on the website.
 12. The methodof claim 9, wherein the mini-game is generated responsive to game playby a first player, and said first player identifies an approximate startand end for the mini-game.
 13. The method of claim 12, wherein a secondplayer, playing the mini-game, enables the second player to playexecutable play scenes for the mini-game that relate to the videorecording.
 14. The method of claim 13, wherein the second player playsthe mini-game once shared by the first player.
 15. The method of claim9, wherein the cloud gaming system includes an encoder for compressingvideo associated with the mini-game being executed for said onlinestreaming format.
 16. The method of claim 9, wherein the game state dataassociated with the portion enables a player playing the mini-game tointeract in play of the video game that relates to the video recording.